db2库表导出及表数据导出导入del与ixf格式 |
您所在的位置:网站首页 › db2 import语法 › db2库表导出及表数据导出导入del与ixf格式 |
db2导出当前库所有表结构
db2look -d -e -o all.sql
db2导出指定表signinfo结构 db2look -d -e -x -t signinfo -o signinfo.sql导出库所有表数据 db2move export导入库所有表数据 db2move import -io replace生产上会由于权限问题,无法使用效率更高度load方式,只能使用import方式 一般导入导出: db2 "export to /home/xxxx.del of del select * from tablename" db2 "import from /home/xxxx.del of del insert into tablename" db2 "export to /home/xxxx.IXF of IXF select * from tablename" db2 "import from /home/xxxx.IXF of IXF insert into tablename"
del与ixf区别 del格式是一个文本文件,文件按行来存储,含有回车的文本内容在del文件中会另起一行,del文件可视。 ixf格式保存的是结构和数据,是一个二进制文件,ixf文件不可视。 千万级的数据,import耗时约50分钟,但加上compound=100 ,效率提高约十倍 使用 compound 选项,如在 MODIFIED BY 语句后使用 compound=n,以便将插入语句中的 n 行记录作为一组一起导入。 对比逐行记录插入的方式,compound方式会在每n条记录而不是每条记录插入后等待返回的SQL执行结果,这种方式减少了网络的通信量。 compound的范围为 1 - 100。 db2 "import from /home/xxxx.IXF of ixf modified by compound=100 insert into tablename"
commitcount,在导入的过程中你可以100条或1000条左右数据就自动提交一次,看数据量大小。一般控制在3万条以下提交一次适宜 db2 "import from /home/xxxx.IXF of ixf modified by compound=100 commitcount 10000 insert into tablename" 实操,86000条数据,不用 compound=100 commitcount 10000,执行完成花费10秒,用了后,为4秒。import在日志空间不足的情况下一般使用load db2 "load from User.del of del insert into user"
但是load在违反唯一性约束大量插入重复数据的情况可能造成Pending整张表无法使用,terminate直接解决问题;写法如下: db2 "load from USER.del of del terminate into user"
大表数据清空用delete会产生大量的日志效率很低,考虑用load...replace db2 "load from USER.del of del replace into user"
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |